package com.harmony.pilot.common.dto;

import lombok.Data;
import java.util.Map;

/**
 * AST符号信息（从CodeQL查询结果转换）
 */
@Data
public class ASTSymbol {
    
    /**
     * 符号名称
     */
    private String name;
    
    /**
     * 符号类型：Function, Class, Variable, Method, etc.
     */
    private String type;
    
    /**
     * 完整签名
     */
    private String signature;
    
    /**
     * 文件路径
     */
    private String filePath;
    
    /**
     * 行号
     */
    private int line;
    
    /**
     * 列号
     */
    private int column;
    
    /**
     * 起始行号
     */
    private int startLine;
    
    /**
     * 结束行号
     */
    private int endLine;
    
    /**
     * 起始列号
     */
    private int startColumn;
    
    /**
     * 结束列号
     */
    private int endColumn;
    
    /**
     * 限定名称（包含命名空间、类名等）
     */
    private String qualifiedName;
    
    /**
     * 返回类型（对于函数/方法）
     */
    private String returnType;
    
    /**
     * 参数列表（对于函数/方法）
     */
    private String parameters;
    
    /**
     * AST元数据（原始CodeQL结果）
     */
    private Map<String, Object> metadata;
}

